<?php
class Estado extends CI_Controller {
		
		function Estado () {
			parent::__construct();
			
			$this->load->helper('url');
			$this->load->helper('form');
			

		}
		
		function index () {
			$data['title']='Estado';
			$data['heading']='Agregar Estado';
					    
			$data['result']= $this->getAll();
			
			$estado = new Entities\Estado;
			$data['registro']=$estado;
			$data['action']='agregar';
			$data['submit']='Agregar';
			
			$this -> load -> view('estado_view',$data);
		}
		
		public function getAll()
		{
		    // get an object by ID
		    $estados = $this->doctrine->em->getRepository('Entities\Estado')->findAll();
			//print_r($tipodocs);
			return $estados;
		}
		
		public function getAllOrderBy($orden)
		{
		    //
		    $estados = $this->doctrine->em->createQuery('SELECT p FROM Entities\Estado p ORDER BY p.'. $orden .' ASC')->getResult(); 
			return $estados;
		}
		
		public function remove ($id)
		{
			$estado = $this->doctrine->em->find('Entities\Estado',$id);
			//echo 'Remove called ' .$tipoDoc->getNombre();
			$this->doctrine->em->remove($estado);
			$this->doctrine->em->flush();
			redirect('estado');
		}
		
		public function agregar()
		{
			$estado = new Entities\Estado;
    		$estado->setDescripcion($_POST["tx_descripcion"]);
    		$this->doctrine->em->persist($estado);
    		$this->doctrine->em->flush();
    		redirect('estado');
		}
		
		public function editar ($id)
		{
			$estado = $this->doctrine->em->find('Entities\Estado',$id);
			//echo 'Remove called ' .$tipoDoc->getNombre();
			$data['title']='Estado';
			$data['heading']='Actualizar Estado';
			
			$data['result']= $this->getAllOrderBy('descripcion');
			$data['registro']=$estado;
			$data['action']='actualizar';
			$data['submit']='Actualizar';
			$this -> load -> view('estado_view',$data);
		}
		
		public function actualizar($id)
		{
			$estado = $this->doctrine->em->find('Entities\Estado',$id);
    		$estado->setDescripcion($_POST["tx_descripcion"]);
    		$this->doctrine->em->persist($estado);
    		$this->doctrine->em->flush();
    		redirect('estado');
		}
}
?>